import { Rule } from "./types";

export const Flake8PyiRuleList: Rule[] = [
    {
        code: "PYI001",
        name: "unprefixed-type-param",
        descEn: "Name of private {kind} must start with _",
        descCn: "",
        autoFix: false,
    },
    {
        code: "PYI006",
        name: "bad-version-info-comparison",
        descEn: "Use < or >= for version info comparisons",
        descCn: "",
        autoFix: false,
    },
    {
        code: "PYI007",
        name: "unrecognized-platform-check",
        descEn: "Unrecognized sys.platform check",
        descCn: "",
        autoFix: false,
    },
    {
        code: "PYI008",
        name: "unrecognized-platform-name",
        descEn: "Unrecognized platform {platform}",
        descCn: "",
        autoFix: false,
    },
    {
        code: "PYI009",
        name: "pass-statement-stub-body",
        descEn: "Empty body should contain ..., not pass",
        descCn: "",
        autoFix: false,
    },
    {
        code: "PYI010",
        name: "non-empty-stub-body",
        descEn: "Function body must contain only ...",
        descCn: "",
        autoFix: false,
    },
    {
        code: "PYI011",
        name: "typed-argument-default-in-stub",
        descEn: "Only simple default values allowed for typed arguments",
        descCn: "",
        autoFix: true,
    },
    {
        code: "PYI012",
        name: "pass-in-class-body",
        descEn: "Class body must not contain pass",
        descCn: "",
        autoFix: true,
    },
    {
        code: "PYI014",
        name: "argument-default-in-stub",
        descEn: "Only simple default values allowed for arguments",
        descCn: "",
        autoFix: true,
    },
    {
        code: "PYI015",
        name: "assignment-default-in-stub",
        descEn: "Only simple default values allowed for assignments",
        descCn: "",
        autoFix: true,
    },
    {
        code: "PYI016",
        name: "duplicate-union-member",
        descEn: "Duplicate union member {}",
        descCn: "",
        autoFix: true,
    },
    {
        code: "PYI021",
        name: "docstring-in-stub",
        descEn: "Docstrings should not be included in stubs",
        descCn: "",
        autoFix: false,
    },
    {
        code: "PYI033",
        name: "type-comment-in-stub",
        descEn: "Don't use type comments in stub file",
        descCn: "",
        autoFix: false,
    },
];